<?php
########################################################################################
# Empresa :     Tecnopac Informatica;                                                  #
# Autor:        Deiverson Pacheco;                                                     #
# Data Criação: 18/12/2010;                                                            #
########################################################################################
session_start();
header("Cache-control: private");
include_once("../../includes/session.php");

//Linha para formatação de caracteres com acentuação
header("Content-Type: text/html; charset=ISO-8859-1",true);

//======================================================================================
//==> Include obrigatórias no script
//======================================================================================
include_once('../../includes/classes/class.TemplatePower.php');
include_once('../../includes/classes/class.Conexao.php');
include_once('../../includes/classes/class.Geral.php');

//======================================================================================
//==> Inicializar Classes
//======================================================================================
$not  = new Persist;
$not2  = new Persist;
$data = new getData;
$cor  = new ColorTr;
$util = new Util;
$vld  = new ValidarDados;
$sql  = new SqlInjection;
extract($_REQUEST);
//======================================================================================
//==> Instanciar TemplatePower para juntar o PHP + HTML
//======================================================================================
$tpl  = new TemplatePower('../../html/vendas/itens_pedido.html');
$tpl->prepare();

//======================================================================================
//==> Recebe variaveis de pesquisa
//======================================================================================
$npedido  = @$_GET['pedido'];
$idlocal  = @$_GET['idlocal'];
$restoque = @$_GET['restoque'];
$evento   = @$_GET['evento'];
$produto  = @$_GET['produto'];
$qtde     = @$_GET['qtde'];
$vlruni   = @$_GET['vlruni'];
$desconto = @$_GET['desconto'];
$obs      = @$_GET['obs'];
$apenas_mostra      = @$_GET['apenas_mostra'];

if($evento == 'inserir'){
	$dt = $data->getDataHoje('-').' '.$data->getHora();
	
	//Inseri o item
	$vltotal  = ($qtde * $vlruni) - $desconto;
	$not->sql = "Insert itens_pedidos (id_pedido, id_produto,id_descricao, qtde, desconto, vl_unitario, vl_total, obs, estoque, local, ativo, uid, data_hora)
				 values ('$npedido', '$produto','$id_descri', '$qtde', '$desconto', '$vlruni', '$vltotal', '$obs', '$restoque', '$idlocal', '0', '$ID_USUARIO', '$dt')";
	$not->ins();
	

	//localiza o valor total do pedido para somar o valor do novo item
	$not->sql = "Select valor from pedidos where id = '$npedido' ";
	if($not->ler() > 0){
	   $not->ini();
	   $valorp = $not->valor + $vltotal; 
	}else{
	   echo 'Pedido nao encontrado, comunique o administrador do  sistema!';
	   exit;
	}
	
    // Atualiza tabela de pedidos no valor total do pedido
	$not->sql = "Update pedidos set valor = '$valorp' where id = '$npedido'";
	$not->alt();

	
	// Retira do estoque se for a regra selecionada
	if($restoque == 1){
		$not->sql = "Update estoque set qtde = (qtde - $qtde) where id_produto = '$produto' and id_local = '$idlocal'";
		$not->alt();
	}

}

if($evento == 'retirar'){
	$id      = @$_GET['id'];
	$codigos = explode(";",$id);
	for($i=1;count($codigos)>$i;$i++){ 

		//localiza o valor do item do pedido para subtrair o valor do item
		$not->sql = "Select vl_total, id_pedido,id_descricao, estoque, id_produto, local, qtde from itens_pedidos where id = '$codigos[$i]' ";
		if($not->ler() > 0){
		   $not->ini();
		   $valor_i  = $not->vl_total; 
		   $npedido  = $not->id_pedido;
		   $restoque = $not->estoque;
		   $produto  = $not->id_produto;
		   $idlocal  = $not->local;
		   $qtde     = $not->qtde;
		   $id_descricao = $not->id_descricao;
		}else{
		   echo 'Item nao encontrado no banco de dados, comunique o administrador do  sistema!';
		   exit;
		}

		//localiza o valor total do pedido para somar o valor do novo item
		$not->sql = "Select valor from pedidos where id = '$npedido' ";
		if($not->ler() > 0){
		   $not->ini();
		   $valorp = $not->valor - $valor_i; 
		}else{
		   echo 'Pedido nao encontrado, comunique o administrador do  sistema!';
		   exit;
		}

		// Atualiza tabela de pedidos no valor total do pedido
		$not->sql = "Update pedidos set valor = '$valorp' where id = '$npedido'";
		$not->alt();

		//Retira o item da tabela de itens
		$not->sql = "Delete from itens_pedidos where id = '$codigos[$i]' ";
		$not->del();

		// Re-poe no estoque se for a regra selecionada
		if($restoque == 1){
			$not->sql = "Update estoque set qtde = (qtde + $qtde) where id_produto = '$produto' and  id_descricao_produto = '$id_descricao' and id_local = '$idlocal'";
			$not->alt();
		}


	}		
}

$cont     = 1;
$not->sql = "select itens_pedidos.id, itens_pedidos.obs,  itens_pedidos.qtde,  itens_pedidos.vl_unitario,  itens_pedidos.desconto,
             itens_pedidos.vl_total, produtos.descricao, itens_pedidos.id_produto as prod, itens_pedidos.id_descricao as descri,produtos.codigo
			 from itens_pedidos inner join produtos
			 on itens_pedidos.id_produto = produtos.id
			 where itens_pedidos.id_pedido = '$npedido'
			 order by itens_pedidos.id desc";
			 
if($not->ler()>0){
	while($not->ini()){

		$tpl->newBlock('LOOP');
		$tpl->assign('cont',$cont);
		$cont++;
		$tpl->assign('dsb', $apenas_mostra == 1 ? ' disabled ' : '');
		$tpl->assign('par_id',$not->id);
		
		$not2->sql = "SELECT GET_Produto_Descricao_Valor($not->prod,$not->descri) as descricao";
	
		$not2->ler();
		$not2->ini();
		$tpl->assign('nome',$not->codigo.' - '.$not2->descricao);
		$tpl->assign('obs', $not->obs);
		$tpl->assign('qtd', $not->qtde);
		$tpl->assign('vluni', number_format($not->vl_unitario,2,',','.'));
		$tpl->assign('desco', number_format($not->desconto,2,',','.'));
		$tpl->assign('vltot', number_format($not->vl_total,2,',','.'));
		$tpl->assign('cor', $cor->altColor());		
	}
}
$tpl->goToBlock('_ROOT');

//======================================================================================
//==> Enviar página unificada PHP + HTML
//======================================================================================
$tpl->showUnAssigned( false );  // para debug. na hora de publicar, setar para false
$tpl->printToScreen();
?>